<?php
/**
 * Abstract model for SQL INSERT query
 */
abstract class SQLInsert {
	protected $strTableName;
	protected $objColumns;
	protected $objInserts;

	/**
	 * Sets table name directly from constructor.
	 *
	 * @param string $strTableName
	 */
	public function __construct($strTableName) {
		$this->strTableName = $strTableName;
	}
	
	/**
	 * Sets columns list for query.
	 * 
	 * @param SQLColumnsClause $objSQLColumns
	 * @return SQLInsert
	 */
	public function setColumns($objSQLColumns) {
		$this->objColumns = $objSQLColumns;
		return $this;
	}
	
	/**
	 * Sets VALUES clause for query.
	 * 
	 * @param SQLInserts $objSQLInserts
	 * @return SQLInsert
	 */
	public function setInserts($objSQLInserts) {
		$this->objInserts = $objSQLInserts;
		return $this;
	}
	
	abstract protected function toString();
}